Maintain Your Site with Page Include Files by Larry (Momp) Poch We all know how web sites seem to take on a life of their own. As the number of pages increases maintaining the site can be a time consuming task...! The use of "Page Include" files makes the task of editing web pages a lot easier and faster. An additional benefit is that it reduces the size of a page, thus improving page load time. This article takes a brief look at three forms of "Page Include" files. CSS Includes, SSI Includes, and Javascript Includes. 1. (CSS) Cascading Style Sheet Includes CSS can be used to format the page margins, font, link colors, and much more. Create a file in your text editor, and include all the common stylesheet declarations for your pages, now save the page with a .css file extension. Note: the <style type="text/css"> and </style> declaration tags are not included in an external style sheet. This reference is in the Link Relevant tag used to call up the stylesheet. For this example we will call the stylesheet page "main.css". h1 {color: #ff0000; font-family: arial; font-size: 14px; text-decoration : underline; } p {font-family: verdana; font-size: 10pt; color: #ffffff; } td {font-family: verdana; font-size: 10pt; color: #ffffff; } a {font-family: arial; font-size: 10pt; font-weight: bold; } a:link {color: #0000ff; text-decoration: none; } a:visited {color: #800080; text-decoration: none; } a.menu:link {color: #ffffff; text-decoration: none; } a:hover {color: gold; text-decoration: underline; } In the <HEAD> tag area of the page the "main.css" stylesheet is called up using the LINK REL tag. <link rel="stylesheet" type="text/css" href="main.css"> Now when you want to add or change your page format, just edit this one file. The changes will appear on any page where the stylesheet is called up. For more on CSS see: http://www.mompswebdesign.com/css/index.html <a href="http://www.mompswebdesign.com/css/index.html">AOL Users Click Here</a> 2. (SSI) Server Side Includes SSI is a great way of controlling site content that appears on multiple pages across a web site. Requirements: 1. Your web site server must have SSI enabled. 2. Most web hosts require the SSI pages to have a file extension of .shtml in place of .html or .htm 3. The file extension used for the code you insert will depend on the operating system and web server software used on the web hosts server. When you are using standard html in the code that is inserted the extension will be either .html or .htm Windows IIS servers use .htm file extension. Windows script: <!--#include file="./file.htm"--> Unix/Linux servers running Apache can use a .html file extension. Unix/Linux script: <!--#include file="./file.html"--> This example will build a navigation bar for the bottom of a page. My web host server is Linux Apache so we will use the .html file extension for the nav bar html code file. Create a file in your text editor and include the HTML code for the navigation bar. Now save the SSI page with a .html file extension. Any HTML coding can be used in a SSI file, but the file should only include the code for the specific item. We will name this file "bot_nav.html" and place it in a sub-directory called "ssi". <div align="center"> <a href="html/index.html">HTML</a> ~ <a href="css/index.html">CSS</a> ~ <a href="webtools/index.html">Web Tools</a> ~ <a href="tutorials/index.html">Tutorials</a> ~ <a href="design/index.html">Design Tips</a> ~ <a href="downloads/index.html">Downloads</a> </div> Now place the following script code on the page in the location you want the navigation bar to be rendered and save it as a .shtml file so your webserver will know to process it for SSI's. <!--#include file="./ssi/bot_nav.html"--> Now when you add a new page or section to your site and want to add it to the navigation bar you only have one page to edit. The changes will appear where ever the SSI include page is called up. Note: when viewing the source code of the page where the script is called up, the include page coding will appear just as written in the SSI Include file. 3. Javascript Includes The Javascript Include is very similar to the SSI Include in the example above. The differences are in the way the code on our javascript include page is written. For this example we will use the same navigation bar code as used above. Create a file in your text editor and include the HTML code for the navigation bar. We then add some javascript coding to each line of the HTML code as well as opening and closing javascript tags. The code for the javascript include page will look like this: <!-- document.writeln('<div align="center">'); document.writeln('<a href="html/index.html">HTML</a> ~'); document.writeln('<a href="css/index.html">CSS</a> ~'); document.writeln('<a href="webtools/index.html">Web Tools</a> ~'); document.writeln('<a href="tutorials/index.html">Tutorials</a> ~'); document.writeln('<a href="design/index.html">Design Tips</a>~'); document.writeln('<a href="downloads/index.html">Downloads</a>'); document.writeln('</div>'); //--> Note: The page must begin with <!-- and end with //--> Each page line must begin with document.writeln(' Each page line must end with '); Now save the page with a .js file extension, "bot_nav.js". Now place the following code on the page in the location you want the navigation bar to be rendered. <script src="bot_nav.js" language="javascript" type="text/javascript"> </script> Javascript is a very sensitive language, but you can include most HTML or javascript coding on the page. Here are some things to watch for: 1. You cannot include javascript that has to access another file to run. DO NOT include the <script> and </script> tags in the .js file. They are included in the location script code. 2. If your content contains a backslash "\" it must be preceded by another backslash "\\". 3. If your content contains an apostrophe (') it must be preceded by a backslash (\'). 4. The most common reasons for script error messages are extra space at the end of a line, or missing characters. This is the same type of script used to syndicate content for use on other sites. But to code a long article or web design tip by hand would take some time. I used a CGI script called "Master Syndicator" that codes the content for me. The script is available at: http://www.mompswebdesign.com/cgi-bin/prolinkz/pl.cgi?willmaster Note: whether using CSS, SSI, or Javascript Include pages be sure to upload them to your site in ASCII mode. Implementing one or all three of these "Page Include" methods will make maintaining and adding to your site a lot quicker and easier. ================================================================ Larry (Momp) owns Momp's Web Design and MWD News newsletter. In addition to the web design service, the site includes a web design reference library for webmasters. Momp's Web Design: http://www.mompswebdesign.com/ MWD Newsletter: http://www.mompswebdesign.com/mwdnews.html Contact Momp: mailto:momp@mompswebdesign.com ================================================================